昨天介紹了如何建立 3D 模型,還有 stl 跟 dae 所包含的資料內容性質,對於純粹網格狀幾何向量式的描述再gazebo的模擬世界是行不通的,所以要將它變成 dae 檔,幫助gazebo獲取更多資訊,才能更加貼近現實,既然我們檔案的部分都準備好了!就來動手操作一遍,看看如何將昨天輸出的model模型匯入至 Gazebo 中啦 !!
1.首先,在自己的工作區中建立models資料夾。
2.在 model 資料夾中建立以下名為 test 的樹狀檔案架構,將.dae file 複製到 meshes 資料夾中,並同時與 meshes 資料夾同層建立.sdf 與.config 檔案。
這邊稍微說明一下 model 資料夾中模型檔 test 的架構意義。model.sdf 是設定我們模型導入 Gazebo 中物理參數,透過調整內部參數,甚至可以讓模型變大縮小,或者是漂浮在空中等情形。test.dae 就是我們的模型檔,而model.config 就是聲明文件,可以寫一些開發者的資訊及版權,方便大家使用出問題時可以聯絡。
.config 範例
這邊在對大部分config中常見的標籤來做介紹<name>
:模型的名稱<version>
:模型版本,這裡跟sdf的版本不同只對模型資訊負責<author>
:為作者姓名還有聯絡資訊的母標籤<description>
:對這個模型的其他描述與介紹<depend>
:其他選配的裝置
3.接著是於.sdf 中建立自己的所需之模型物理參數,可以參考這篇SDF1.5ver架構,記得要將模型路徑插入。
.sdf 範例
這裡再對插入模型上下分別不同的標籤做個介紹
<collision>
:碰撞標籤,給機器人設定物體碰撞邊界內容的<mesh>
再包含我們模型的 .dae,<scale>
中給予碰撞邊界的三圍參數
<visual>
:這邊概念跟碰撞參數相同,不過是給它視覺化的範圍還有位置
4.最後只要將模型檔案路徑新增到.world 中,就可以了(不知道.world 是什麼可以看這邊)。
5.利用先前教的使用 .launch 呼叫.world 檔案就可以啦!!
經過今天的教學希望大家都已經學會如會導入模型至 Gazebo 中了。雖然步驟有點繁雜,但整體來說應該不至於到太難,但對於導入的模型不同,大小位置、依附的對象、配置到的地形都有很多種不同的設置方法,對於自己想要的方案還請慢慢摸索一下啦!筆者只是起到一個領路人的作用。明天會接著介紹導入圖片至 Gazebo 中的方法,與今天的步驟有些類似,但又有一些不同,就請大家敬請期待!!